The present invention is directed to a method for arbitrating the use of a system bus and the apparatus for implementing same.
When a system bus is shared by numerous modules, it is necessary to arbitrate the use of the shared resource. The needs of a system must be considered when selecting and implementing an arbitration algorithm. On the one hand, an arbitration algorithm must provide quick access to the bus for the highest priority uses. On the other hand, it is undesirable to have a system in which the lowest priority users are unable to gain access to the bus.
One example of a commonly used arbitration algorithm is the use of a round robin. In using a round robin, the modules on the system bus are sequenced and access to the bus is provided to each module in the predetermined sequence. The round robin system guarantees that the lowest priority users will have an opportunity to access the system bus.
Another arbitration system is disclosed in co-pending patent application Ser. No. 798,595, filed Nov. 15, 1985 and assigned to the same assignee as the present invention. In this system, when a system bus line is freed, any requestor wishing to use the bus asserts a request line. All requestors that have asserted their request line in the clock cycle in which the busy line was free will be provided with access to the bus in order of a predetermined priority ranking the requesting modules. When the last of these requestors has been granted the bus, the busy line is freed for a new set of requestors.
It is an object of the present invention to combine two methods of arbitration in order to provide a desirable balance between granting the bus to high priority requestors and allowing low priority requestors an opportunity to use the bus.